package com.cms.recursoshumanos.object.list;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import com.cms.recursoshumanos.object.Familiar;

public class ListaFamiliar implements Serializable
{
	/**
	 * 
	 */
	private static final long serialVersionUID = -1008095089297235658L;
	List<Familiar> listaFamiliar;
	
	public void actualizarFamiliar(Familiar elFamiliar)
	{
		for (int i = 0 ; i < cantElementListaFamiliar() ; i++ )
		{
			if (getFamiliarAtIndex(i).getIdFamiliar() == elFamiliar.getIdFamiliar())
			{
				
				getFamiliarAtIndex(i).getPersona().setUrlFoto(elFamiliar.getPersona().getUrlFoto());
				getFamiliarAtIndex(i).getPersona().setFoto_Persona(elFamiliar.getPersona().getFoto_Persona());
				
				break;
			}
		}
	}
	public String[] getListaFamiliarForSpinner()
	{
		String[] listado_objetos;
		if (cantElementListaFamiliar() > 0)
		{
			listado_objetos = new String[cantElementListaFamiliar()] ;
			
			for (int i = 0 ; i < cantElementListaFamiliar() ; i++)
			{
				listado_objetos[i] = getFamiliarAtIndex(i).getPersona().getApellido_Persona_1()+", "+
										getFamiliarAtIndex(i).getPersona().getNombre_Persona_1();
			}
		}
		else
		{
			listado_objetos = null;
		}

		return listado_objetos;
	}
	public ListaFamiliar getListaFamiliarAsegurado()
	{
		ListaFamiliar listado_asegurada = new ListaFamiliar();
		
		for (int i = 0 ; i < cantElementListaFamiliar() ; i++ )
		{
			Familiar elFamiliar = getFamiliarAtIndex(i);
			if (elFamiliar.getStatusAsegurada())
			{
				listado_asegurada.addFamiliar(elFamiliar);
			}
		}
		
		return listado_asegurada;
	}
	public ListaFamiliar()
	{
		this.listaFamiliar = new ArrayList<Familiar>();
	}
	public Familiar getFamiliarById(int id_Familiar)
	{
		Familiar elFamiliar = null;
		for (int i = 0; i < cantElementListaFamiliar() ; i++)
		{
			Familiar elAdiestrmaientoEncontrado = getFamiliarAtIndex(i);
			if (elAdiestrmaientoEncontrado.getIdFamiliar() == id_Familiar)
			{
				elFamiliar = elAdiestrmaientoEncontrado;
				break;
			}
		}
		return elFamiliar;
	}
	public int getIndexFamiliar(Familiar elFamiliar)
	{
		return this.listaFamiliar.indexOf(elFamiliar);
	}
	public int cantElementListaFamiliar()
	{
		return this.listaFamiliar.size();
	}
	public void addFamiliar(Familiar el_Familiar)
	{
		this.listaFamiliar.add(el_Familiar);	
	}
	public void setListaFamiliar(ArrayList<Familiar> listaFamiliar)
	{
		this.listaFamiliar = listaFamiliar;
	}
	public List<Familiar> getListaFamiliar()
	{
		return this.listaFamiliar;
	}
	public void resetListaFamiliar()
	{
		listaFamiliar.clear();
	}
	public void deleteFamiliarAtIndex(int index)
	{
		listaFamiliar.remove(index);
	}
	public Familiar getFamiliarAtIndex(int index)
	{
		return (Familiar) this.listaFamiliar.get(index);
	}
	
}


